// https://leetcode-cn.com/problems/subarray-sum-equals-k/
// 560. Subarray Sum Equals K
function subarraySum(nums: number[], k: number): number {
    const map = new Map();
    map.set(0, 1);
    let result = 0;
    let pre = 0;
    for (let num of nums) {
        pre += num;
        if (map.has(pre - k)) {
            result += map.get(pre - k);
        }
        if (map.has(pre)) {
            map.set(pre, map.get(pre) + 1);
        } else {
            map.set(pre, 1);
        }
    }

    return result;
}
